package com.xisoft.generator.entity;

import java.util.ArrayList;
import java.util.List;

/**
 * @author xzh
 * @Date 2021/8/16
 * @description 配置模板
 * 注意：本内容仅限于上海熙软科技有限公司内部，传阅，禁止外泄以及用于其他商业目的
 */
public class ConfigTemplate {

    /**
     * 模板名称
     */
    public String tempdatename;
    /**
     * 生成目录
     */
    public String generateDir;
    /**
     * 生成文件名
     */
    public String filename;

    public ConfigTemplate(String tempdatename, String generateDir, String filename) {

        super();
        this.tempdatename = tempdatename;
        this.generateDir = generateDir;
        this.filename = filename;
    }

    public static List<ConfigTemplate> getTemplates(BaseModel model) {
        List<ConfigTemplate> configTemplates = new ArrayList<ConfigTemplate>();
        String tempGenerateDir = null;
        tempGenerateDir = "src/main/java/" + model.basePackageName.replace(".", "/");
        String subClassName = model.getvName().substring(0, 1) + model.getvName().substring(1);
        if ("Y".equals(model.templateConfig.TABLE2PACKAGENAME)) {
            tempGenerateDir = "src/main/java/" + model.basePackageName.replace(".", "/") + "/" + model.getvName().toLowerCase();
        }
        configTemplates.add(new ConfigTemplate("formjs.ftl", tempGenerateDir+"/ctrl", subClassName + ".js"));
        configTemplates.add(new ConfigTemplate("controller.ftl", tempGenerateDir + "/ctrl", subClassName + "Ctrl.java"));
        configTemplates.add(new ConfigTemplate("service.ftl", tempGenerateDir + "/service", subClassName + "Service.java"));
        configTemplates.add(new ConfigTemplate("pojo.ftl", tempGenerateDir + "/entity", subClassName + "VO.java"));
        return configTemplates;
    }
}
